Multi-Timeframe PSAR Indicator ver 1.0Enhance your trend analysis with the Multi-Timeframe Parabolic SAR (MTF PSAR) indicator! This powerful tool displays the Parabolic SAR (Stop and Reverse) from both the current chart's timeframe and a higher timeframe, all in one convenient view. Identify potential trend reversals and set dynamic trailing stops with greater confidence by understanding the broader market context.
Key Features:
Dual Timeframe Analysis: Simultaneously visualize the PSAR on your current chart and a user-defined higher timeframe (e.g., see the Daily PSAR while trading on the 1-hour chart). This helps you align your trades with the dominant trend.
Customizable PSAR Settings: Fine-tune the PSAR calculation with adjustable Start, Increment, and Maximum values. Optimize the indicator's sensitivity to match your trading style and the volatility of the asset.
Independent Timeframe Control: Choose to display either or both the current timeframe PSAR and the higher timeframe PSAR. Focus on the information most relevant to your analysis.
Clear Visual Representation: Distinct colors for the current and higher timeframe PSAR dots make it easy to differentiate between the two. Quickly identify potential entry and exit points.
Configurable Colors You can easily change colors of Current and HTF PSAR.
Standard PSAR Logic: Uses the classic Parabolic SAR algorithm, providing a reliable and widely-understood trend-following indicator.
lookahead=barmerge.lookahead_off used in the security function, there is no data leak or repainting.
Benefits:
Improved Trend Identification: Spot potential trend changes earlier by observing divergences between the current and higher timeframe PSAR.
Enhanced Risk Management: Use the PSAR as a dynamic trailing stop-loss to protect profits and limit potential losses.
Greater Trading Confidence: Make more informed decisions by considering the broader market trend.
Reduced Chart Clutter: Avoid the need to switch between multiple charts to analyze different timeframes.
Versatile Application: Suitable for various trading styles (swing trading, day trading, trend following) and markets (stocks, forex, crypto, etc.).
How to Use:
Add to Chart: Add the "Multi-Timeframe PSAR" indicator to your TradingView chart.
Configure Settings:
PSAR Settings: Adjust the Start, Increment, and Maximum values to control the PSAR's sensitivity.
Multi-Timeframe Settings: Select the desired "Higher Timeframe PSAR" resolution (e.g., "D" for Daily). Enable or disable the display of the current and/or higher timeframe PSAR using the checkboxes.
Interpret Signals:
Current Timeframe PSAR: Dots below the price suggest an uptrend; dots above the price suggest a downtrend.
Higher Timeframe PSAR: Provides context for the overall trend. Agreement between the current and higher timeframe PSAR strengthens the trend signal. Divergences may indicate potential reversals.
Trade Management:
Use PSAR dots as dynamic trailing stop.
Example Use Cases:
Confirming Trend Strength: A trader on a 1-hour chart sees the 1-hour PSAR flip bullish (dots below the price). They check the MTF PSAR and see that the Daily PSAR is also bullish, confirming the strength of the uptrend.
Identifying Potential Reversals: A trader sees the current timeframe PSAR flip bearish, but the higher timeframe PSAR remains bullish. This divergence could signal a potential pullback within a larger uptrend, or a warning of a more significant reversal.
Trailing Stops: A trader enters a long position and uses the current timeframe PSAR as a trailing stop, moving their stop-loss up as the PSAR dots rise.
Disclaimer: The Parabolic SAR is a lagging indicator and may produce false signals, especially in ranging markets. It is recommended to use this indicator in conjunction with other technical analysis tools and risk management strategies. Past performance is not indicative of future results.
Cerca negli script per "Trailing stop"
Adaptive RSI with Real-Time Divergence [AIBitcoinTrend]👽 Adaptive RSI Trailing Stop (AIBitcoinTrend)
The Adaptive RSI Trailing Stop is an indicator that integrates Gaussian-weighted RSI calculations with real-time divergence detection and a dynamic ATR-based trailing stop. This advanced approach allows traders to monitor momentum shifts, identify divergences early, and manage risk with adaptive trailing stop levels that adjust to price action.
👽 What Makes the Adaptive RSI with Signals and Trailing Stop Unique?
Unlike traditional RSI indicators, this version applies a Gaussian-weighted smoothing algorithm, making it more responsive to price action while reducing noise. Additionally, the trailing stop feature dynamically adjusts based on volatility and trend conditions, allowing traders to:
Detects real-time divergences (bullish/bearish) with a smart pivot-based system.
Filter noise with Gaussian weighting, ensuring smoother RSI transitions.
Utilize crossover-based trailing stop activation, for systematic trade management.
👽 The Math Behind the Indicator
👾 Gaussian Weighted RSI Calculation
Traditional RSI calculations rely on simple averages of gains and losses. Instead, this indicator weights recent price changes using a Gaussian distribution, prioritizing more relevant data points while maintaining smooth transitions.
Key Features:
Exponential decay ensures recent price changes are weighted more heavily.
Reduces short-term noise while maintaining responsiveness.
👾 Real-Time Divergence Detection
The indicator detects bullish and bearish divergences using pivot points on RSI compared to price action.
👾 Dynamic ATR-Based Trailing Stop
Bullish Trailing Stop: Activates when RSI crosses above 20 and dynamically adjusts based on low - ATR multiplier.
Bearish Trailing Stop: Activates when RSI crosses below 80 and adjusts based on high + ATR multiplier
This allows traders to:
Lock in profits systematically by adjusting stop-losses dynamically.
Stay in trades longer while maintaining adaptive risk management.
👽 How It Adapts to Market Movements
✔️ Gaussian Filtering ensures smooth RSI transitions while preventing excessive lag.
✔️ Real-Time Divergence Alerts provide early trade signals based on price-RSI discrepancies.
✔️ ATR Trailing Stop dynamically expands or contracts based on market volatility.
✔️ Crossover-Based Activation enables the stop-loss system only when RSI confirms a momentum shift.
👽 How Traders Can Use This Indicator
👾 Divergence Trading
Traders can use real-time divergence detection to anticipate reversals before they happen.
Bullish Divergence Setup:
Look for RSI making a higher low, while price makes a lower low.
Enter long when RSI confirms upward momentum.
Bearish Divergence Setup:
Look for RSI making a lower high, while price makes a higher high.
Enter short when RSI confirms downward momentum.
👾 Trailing Stop Signals
Bullish Signal and Trailing Stop Activation:
When RSI crosses above 20, a trailing stop is placed using low - ATR multiplier.
If price crosses below the stop, it exits the trade and removes the stop.
Bearish Signal and Trailing Stop Activation:
When RSI crosses below 80, a trailing stop is placed using high + ATR multiplier.
If price crosses above the stop, it exits the trade and removes the stop.
This makes trend-following strategies more efficient, while ensuring proper risk management.
👽 Why It’s Useful for Traders
✔️ Dynamic and Adaptive: Adjusts to changing market conditions automatically.
✔️ Noise Reduction: Gaussian-weighted RSI reduces short-term price distortions.
✔️ Comprehensive Strategy Tool: Combines momentum detection, divergence analysis, and automated risk management into a single indicator.
✔️ Works Across Markets & Timeframes: Suitable for stocks, forex, crypto, and futures trading.
👽 Indicator Settings
RSI Length: Defines the lookback period for RSI smoothing.
Gaussian Sigma: Controls how much weight is given to recent data points.
Enable Signal Line: Option to display an RSI-based moving average.
Divergence Lookback: Configures how far back pivot points are detected.
Crossover/crossunder values for signals: Set the crossover/crossunder values that triggers signals.
ATR Multiplier: Adjusts trailing stop sensitivity to market volatility.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
ottlibLibrary "ottlib"
█ OVERVIEW
This library contains functions for the calculation of the OTT (Optimized Trend Tracker) and its variants, originally created by Anıl Özekşi (Anil_Ozeksi). Special thanks to him for the concept and to Kıvanç Özbilgiç (KivancOzbilgic) and dg_factor (dg_factor) for adapting them to Pine Script.
█ WHAT IS "OTT"
The OTT (Optimized Trend Tracker) is a highly customizable and very effective trend-following indicator that relies on moving averages and a trailing stop at its core. Moving averages help reduce noise by smoothing out sudden price movements in the markets, while trailing stops assist in detecting trend reversals with precision. Initially developed as a noise-free trailing stop, the current variants of OTT range from rapid trend reversal detection to long-term trend confirmation, thanks to its extensive customizability.
It's well-known variants are:
OTT (Optimized Trend Tracker).
TOTT (Twin OTT).
OTT Channels.
RISOTTO (RSI OTT).
SOTT (Stochastic OTT).
HOTT & LOTT (Highest & Lowest OTT)
ROTT (Relative OTT)
FT (Original name is Fırsatçı Trend in Turkish which translates to Opportunist Trend)
█ LIBRARY FEATURES
This library has been prepared in accordance with the style, coding, and annotation standards of Pine Script version 5. As a result, explanations and examples will appear when users hover over functions or enter function parameters in the editor.
█ USAGE
Usage of this library is very simple. Just import it to your script with the code below and use its functions.
import ismailcarlik/ottlib/1 as ottlib
█ FUNCTIONS
• f_vidya(source, length, cmoLength)
Short Definition: Chande's Variable Index Dynamic Average (VIDYA).
Details: This function computes Chande's Variable Index Dynamic Average (VIDYA), which serves as the original moving average for OTT. The 'length' parameter determines the number of bars used to calculate the average of the given source. Lower values result in less smoothing of prices, while higher values lead to greater smoothing. While primarily used internally in this library, it has been made available for users who wish to utilize it as a moving average or use in custom OTT implementations.
Parameters:
source (float) : (series float) Series of values to process.
length (simple int) : (simple int) Number of bars to lookback.
cmoLength (simple int) : (simple int) Number of bars to lookback for calculating CMO. Default value is `9`.
Returns: (float) Calculated average of `source` for `length` bars back.
Example:
vidyaValue = ottlib.f_vidya(source = close, length = 20)
plot(vidyaValue, color = color.blue)
• f_mostTrail(source, multiplier)
Short Definition: Calculates trailing stop value.
Details: This function calculates the trailing stop value for a given source and the percentage. The 'multiplier' parameter defines the percentage of the trailing stop. Lower values are beneficial for catching short-term reversals, while higher values aid in identifying long-term trends. Although only used once internally in this library, it has been made available for users who wish to utilize it as a traditional trailing stop or use in custom OTT implementations.
Parameters:
source (float) : (series int/float) Series of values to process.
multiplier (simple float) : (simple float) Percent of trailing stop.
Returns: (float) Calculated value of trailing stop.
Example:
emaValue = ta.ema(source = close, length = 14)
mostValue = ottlib.f_mostTrail(source = emaValue, multiplier = 2.0)
plot(mostValue, color = emaValue >= mostValue ? color.green : color.red)
• f_ottTrail(source, multiplier)
Short Definition: Calculates OTT-specific trailing stop value.
Details: This function calculates the trailing stop value for a given source in the manner used in OTT. Unlike a traditional trailing stop, this function modifies the traditional trailing stop value from two bars prior by adjusting it further with half the specified percentage. The 'multiplier' parameter defines the percentage of the trailing stop. Lower values are beneficial for catching short-term reversals, while higher values aid in identifying long-term trends. Although primarily used internally in this library, it has been made available for users who wish to utilize it as a trailing stop or use in custom OTT implementations.
Parameters:
source (float) : (series int/float) Series of values to process.
multiplier (simple float) : (simple float) Percent of trailing stop.
Returns: (float) Calculated value of OTT-specific trailing stop.
Example:
vidyaValue = ottlib.f_vidya(source = close, length = 20)
ottValue = ottlib.f_ottTrail(source = vidyaValue, multiplier = 1.5)
plot(ottValue, color = vidyaValue >= ottValue ? color.green : color.red)
• ott(source, length, multiplier)
Short Definition: Calculates OTT (Optimized Trend Tracker).
Details: The OTT consists of two lines. The first, known as the "Support Line", is the VIDYA of the given source. The second, called the "OTT Line", is the trailing stop based on the Support Line. The market is considered to be in an uptrend when the Support Line is above the OTT Line, and in a downtrend when it is below.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `2`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `1.4`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `ottLine`.
Example:
= ottlib.ott(source = close, length = 2, multiplier = 1.4)
longCondition = ta.crossover(supportLine, ottLine)
shortCondition = ta.crossunder(supportLine, ottLine)
• tott(source, length, multiplier, bandsMultiplier)
Short Definition: Calculates TOTT (Twin OTT).
Details: TOTT consists of three lines: the "Support Line," which is the VIDYA of the given source; the "Upper Line," a trailing stop of the Support Line adjusted with an added multiplier; and the "Lower Line," another trailing stop of the Support Line, adjusted with a reduced multiplier. The market is considered in an uptrend if the Support Line is above the Upper Line and in a downtrend if it is below the Lower Line.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `40`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.6`.
bandsMultiplier (simple float) : Multiplier for bands. Default value is `0.0006`.
Returns: ( [ float, float, float ]) Tuple of `supportLine`, `upperLine` and `lowerLine`.
Example:
= ottlib.tott(source = close, length = 40, multiplier = 0.6, bandsMultiplier = 0.0006)
longCondition = ta.crossover(supportLine, upperLine)
shortCondition = ta.crossunder(supportLine, lowerLine)
• ott_channel(source, length, multiplier, ulMultiplier, llMultiplier)
Short Definition: Calculates OTT Channels.
Details: OTT Channels comprise nine lines. The central line, known as the "Mid Line," is the OTT of the given source's VIDYA. The remaining lines are positioned above and below the Mid Line, shifted by specified multipliers.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`
length (simple int) : (simple int) Number of bars to lookback. Default value is `2`
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `1.4`
ulMultiplier (simple float) : (simple float) Multiplier for upper line. Default value is `0.01`
llMultiplier (simple float) : (simple float) Multiplier for lower line. Default value is `0.01`
Returns: ( [ float, float, float, float, float, float, float, float, float ]) Tuple of `ul4`, `ul3`, `ul2`, `ul1`, `midLine`, `ll1`, `ll2`, `ll3`, `ll4`.
Example:
= ottlib.ott_channel(source = close, length = 2, multiplier = 1.4, ulMultiplier = 0.01, llMultiplier = 0.01)
• risotto(source, length, rsiLength, multiplier)
Short Definition: Calculates RISOTTO (RSI OTT).
Details: RISOTTO comprised of two lines: the "Support Line," which is the VIDYA of the given source's RSI value, calculated based on the length parameter, and the "RISOTTO Line," a trailing stop of the Support Line. The market is considered in an uptrend when the Support Line is above the RISOTTO Line, and in a downtrend if it is below.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `50`.
rsiLength (simple int) : (simple int) Number of bars used for RSI calculation. Default value is `100`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.2`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `risottoLine`.
Example:
= ottlib.risotto(source = close, length = 50, rsiLength = 100, multiplier = 0.2)
longCondition = ta.crossover(supportLine, risottoLine)
shortCondition = ta.crossunder(supportLine, risottoLine)
• sott(source, kLength, dLength, multiplier)
Short Definition: Calculates SOTT (Stochastic OTT).
Details: SOTT is comprised of two lines: the "Support Line," which is the VIDYA of the given source's Stochastic value, based on the %K and %D lengths, and the "SOTT Line," serving as the trailing stop of the Support Line. The market is considered in an uptrend when the Support Line is above the SOTT Line, and in a downtrend when it is below.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
kLength (simple int) : (simple int) Stochastic %K length. Default value is `500`.
dLength (simple int) : (simple int) Stochastic %D length. Default value is `200`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.5`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `sottLine`.
Example:
= ottlib.sott(source = close, kLength = 500, dLength = 200, multiplier = 0.5)
longCondition = ta.crossover(supportLine, sottLine)
shortCondition = ta.crossunder(supportLine, sottLine)
• hottlott(length, multiplier)
Short Definition: Calculates HOTT & LOTT (Highest & Lowest OTT).
Details: HOTT & LOTT are composed of two lines: the "HOTT Line", which is the OTT of the highest price's VIDYA, and the "LOTT Line", the OTT of the lowest price's VIDYA. A high price surpassing the HOTT Line can be considered a long signal, while a low price dropping below the LOTT Line may indicate a short signal.
Parameters:
length (simple int) : (simple int) Number of bars to lookback. Default value is `20`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.6`.
Returns: ( [ float, float ]) Tuple of `hottLine` and `lottLine`.
Example:
= ottlib.hottlott(length = 20, multiplier = 0.6)
longCondition = ta.crossover(high, hottLine)
shortCondition = ta.crossunder(low, lottLine)
• rott(source, length, multiplier)
Short Definition: Calculates ROTT (Relative OTT).
Details: ROTT comprises two lines: the "Support Line", which is the VIDYA of the given source, and the "ROTT Line", the OTT of the Support Line's VIDYA. The market is considered in an uptrend if the Support Line is above the ROTT Line, and in a downtrend if it is below. ROTT is similar to OTT, but the key difference is that the ROTT Line is derived from the VIDYA of two bars of Support Line, not directly from it.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `200`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.1`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `rottLine`.
Example:
= ottlib.rott(source = close, length = 200, multiplier = 0.1)
isUpTrend = supportLine > rottLine
isDownTrend = supportLine < rottLine
• ft(source, length, majorMultiplier, minorMultiplier)
Short Definition: Calculates Fırsatçı Trend (Opportunist Trend).
Details: FT is comprised of two lines: the "Support Line", which is the VIDYA of the given source, and the "FT Line", a trailing stop of the Support Line calculated using both minor and major trend values. The market is considered in an uptrend when the Support Line is above the FT Line, and in a downtrend when it is below.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `30`.
majorMultiplier (simple float) : (simple float) Percent of major trend. Default value is `3.6`.
minorMultiplier (simple float) : (simple float) Percent of minor trend. Default value is `1.8`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `ftLine`.
Example:
= ottlib.ft(source = close, length = 30, majorMultiplier = 3.6, minorMultiplier = 1.8)
longCondition = ta.crossover(supportLine, ftLine)
shortCondition = ta.crossunder(supportLine, ftLine)
█ CUSTOM OTT CREATION
Users can create custom OTT implementations using f_ottTrail function in this library. The example code which uses EMA of 7 period as moving average and calculates OTT based of it is below.
Source Code:
//@version=5
indicator("Custom OTT", shorttitle = "COTT", overlay = true)
import ismailcarlik/ottlib/1 as ottlib
src = input.source(close, title = "Source")
length = input.int(7, title = "Length", minval = 1)
multiplier = input.float(2.0, title = "Multiplier", minval = 0.1)
support = ta.ema(source = src, length = length)
ott = ottlib.f_ottTrail(source = support, multiplier = multiplier)
pSupport = plot(support, title = "Moving Average Line (Support)", color = color.blue)
pOtt = plot(ott, title = "Custom OTT Line", color = color.orange)
fillColor = support >= ott ? color.new(color.green, 60) : color.new(color.red, 60)
fill(pSupport, pOtt, color = fillColor, title = "Direction")
Result:
█ DISCLAIMER
Trading is risky and most of the day traders lose money eventually. This library and its functions are only for educational purposes and should not be construed as financial advice. Past performances does not guarantee future results.
Breaks and Retests - Free990Strategy Description: "Breaks and Retests - Free990"
The "Breaks and Retests - Free990" strategy is based on identifying breakout and retest opportunities for potential entries in both long and short trades. The idea is to detect price breakouts above resistance levels or below support levels, and subsequently identify retests that confirm the breakout levels. The strategy offers an automated approach to enter trades after a breakout followed by a retest, which serves as a confirmation of trend continuation.
Key Components:
Support and Resistance Detection:
The strategy calculates pivot levels based on historical price movements to define support and resistance areas. A lookback range is used to determine these key levels.
Breakouts and Retests:
The system identifies when a breakout occurs above a resistance level or below a support level.
It then waits for a retest of the previously broken level as confirmation, which is often a better entry opportunity.
Trade Direction Selection:
Users can choose between "Long Only," "Short Only," or "Both" directions for trading based on their market view.
Stop Loss and Trailing Stop:
An initial stop loss is placed at a defined percentage away from the entry.
The trailing stop loss is activated after the position gains a specified percentage in profit.
Long Entry:
A long entry is triggered if the price breaks above a resistance level and subsequently retests that level successfully.
The entry condition checks if the breakout was confirmed and if a retest was valid.
The long entry is only executed if the user-selected direction is either "Long Only" or "Both."
Short Entry:
A short entry is triggered if the price breaks below a support level and subsequently retests that level.
The short entry is only executed if the user-selected direction is either "Short Only" or "Both."
sell_condition checks whether the support has been broken and whether the retest condition is valid.
An initial stop loss is placed when the trade is opened to limit the risk if the trade moves against the position.
The stop loss is calculated based on a user-defined percentage (stop_loss_percent) of the entry price.
pinescript
Copy code
stop_loss_price := strategy.position_avg_price * (1 - stop_loss_percent / 100)
For long positions, the stop loss is placed below the entry price.
For short positions, the stop loss is placed above the entry price.
Trailing Stop:
When a position achieves a certain profit threshold (profit_threshold_percent), the trailing stop mechanism is activated.
For long positions, the trailing stop follows the highest price reached, ensuring that some profit is locked in if the price reverses.
For short positions, the trailing stop follows the lowest price reached.
Code Logic for Trailing Stop:
Exit Execution:
The strategy exits the position when the price hits the calculated stop loss level.
This includes both the initial stop loss and the trailing stop that adjusts as the trade progresses.
Code Logic for Exit:
Summary:
Breaks and Retests - Free990 uses support and resistance levels to identify breakouts, followed by retests for confirmation.
Entry Points: Triggered when a breakout is confirmed and a retest occurs, for both long and short trades.
Exit Points:
Initial Stop Loss: Limits risk for both long and short trades.
Trailing Stop Loss: Locks in profits as the price moves in favor of the position.
This strategy aims to capture the momentum after breakouts and minimize losses through effective use of stop loss and trailing stops. It gives the flexibility of selecting trade direction and ensures trades are taken with confirmation through the retest, which helps to reduce false breakouts.
Original Code by @HoanGhetti
Gaps Trend [ChartPrime]The Gaps Trend - ChartPrime indicator is designed to detect Fair Value Gaps (FVGs) in the market and apply a trailing stop mechanism based on those gaps. It identifies both bullish and bearish gaps and provides traders with a way to manage trades dynamically as gaps appear. The indicator visually highlights gaps and uses the detected momentum to assess trend direction, helping traders identify price imbalances caused by strong buy or sell pressure.
⯁ KEY FEATURES & HOW TO USE
⯌ Fair Value Gap (FVG) Detection :
The indicator automatically detects both bullish and bearish FVGs, identifying gaps between candle highs and lows. Bullish gaps are shown in green, and bearish gaps in purple. These gaps indicate price imbalances driven by strong momentum, such as when there is significant buying or selling pressure.
Use : Traders can use FVG detection to identify periods of high price momentum, offering insight into potential continuation or exhaustion of trends.
⯌ Trailing Stop Feature Based on FVGs :
A core feature of this indicator is the trailing stop mechanism, which adjusts dynamically based on the identified FVGs. When a bullish gap is detected, the trailing stop is placed below the price to capture upward momentum, while bearish gaps result in a trailing stop placed above the price. This feature helps traders stay in trends while protecting profits as the price moves.
Use : The trailing stop follows the momentum of the price, ensuring that traders can stay in profitable trades during strong trends and exit when the momentum shifts.
bullish set up
bearish set up
⯌ Trend Direction Indication :
The indicator colors the chart according to the current trend direction based on the position of the price relative to the trailing stop. Green indicates an uptrend (bullish gap), while purple shows a downtrend (bearish gap). This provides traders with a quick visual assessment of trend direction based on the presence of gaps.
Use : Traders can monitor the chart's color to stay aligned with the market’s trend, staying long during green phases and short during purple ones.
⯌ Gap Size Filtering :
Each detected gap is assigned a numerical ranking based on its size, with larger gaps having higher rankings. The gap size filter allows traders to only display gaps that meet a minimum size threshold, focusing on the most impactful gaps in terms of price movement.
Use : Traders can use the filter to focus on gaps of a certain size, filtering out smaller, less significant gaps. The numerical ranking helps identify the largest and most influential gaps for decision-making.
⯌ FVG Level Visualization :
The indicator can display dashed lines marking the levels of previously filled FVGs. These levels represent areas where price once experienced a gap and later filled it. Monitoring these levels can provide traders with key reference points for potential reactions in price.
Use : Traders can use these gap levels to track where price has filled gaps and potentially use these levels as zones for entry, exit, or assessing market behavior.
⯁ USER INPUTS
Filter Gaps : Adjust the size threshold to filter gaps by their size ranking.
Show Gap Levels : Toggle the display of dashed lines at filled FVG levels.
Enable Trailing Stop : Activate or deactivate the trailing stop feature based on FVGs.
Trailing Stop Length : Set the number of bars used to calculate the trailing stop.
Bullish/Bearish Colors : Customize the colors representing bullish and bearish gaps.
⯁ CONCLUSION
The Gaps Trend indicator combines Fair Value Gap detection with a dynamic trailing stop feature to help traders manage trades during periods of high price momentum. By detecting gaps caused by strong buy or sell pressure and applying adaptive stops, the indicator provides a powerful tool for riding trends and managing risk. The additional ability to filter gaps by size and visualize previously filled gaps enhances its utility for both trend-following and risk management strategies.
PresentTrend RMI Synergy - Strategy [presentTrading] █ Introduction and How it is Different
The "PresentTrend RMI Synergy Strategy" is the combined power of the Relative Momentum Index (RMI) and a custom presentTrend indicator. This strategy introduces a multifaceted approach, integrating momentum analysis with trend direction to offer traders a more nuanced and responsive trading mechanism.
BTCUSD 6h L/S Performance
Local
█ Strategy, How It Works: Detailed Explanation
The "PresentTrend RMI Synergy Strategy" intricately combines the Relative Momentum Index (RMI) and a custom SuperTrend indicator to create a powerful tool for traders.
🔶 Relative Momentum Index (RMI)
The RMI is a variation of the Relative Strength Index (RSI), but instead of using price closes against itself, it measures the momentum of up and down movements in price relative to previous prices over a given period. The RMI for a period length `N` is calculated as follows:
RMI = 100 - 100/ (1 + U/D)
where:
- `U` is the average upward price change over `N` periods,
- `D` is the average downward price change over `N` periods.
The RMI oscillates between 0 and 100, with higher values indicating stronger upward momentum and lower values suggesting stronger downward momentum.
RMI = 21
RMI = 42
For more information - RMI Trend Sync - Strategy :
🔶 presentTrend Indicator
The presentTrend indicator combines the Average True Range (ATR) with a moving average to determine trend direction and dynamic support or resistance levels. The presentTrend for a period length `M` and a multiplier `F` is defined as:
- Upper Band: MA + (ATR x F)
- Lower Band: MA - (ATR x F)
where:
- `MA` is the moving average of the close price over `M` periods,
- `ATR` is the Average True Range over the same period,
- `F` is the multiplier to adjust the sensitivity.
The trend direction switches when the price crosses the presentTrend bands, signaling potential entry or exit points.
presentTrend length = 3
presentTrend length = 10
For more information - PresentTrend - Strategy :
🔶 Strategy Logic
Entry Conditions:
- Long Entry: Triggered when the RMI exceeds a threshold, say 60, indicating a strong bullish momentum, and when the price is above the presentTrend, confirming an uptrend.
- Short Entry: Occurs when the RMI drops below a threshold, say 40, showing strong bearish momentum, and the price is below the present trend, indicating a downtrend.
Exit Conditions with Dynamic Trailing Stop:
- Long Exit: Initiated when the price crosses below the lower presentTrend band or when the RMI falls back towards a neutral level, suggesting a weakening of the bullish momentum.
- Short Exit: Executed when the price crosses above the upper presentTrend band or when the RMI rises towards a neutral level, indicating a reduction in bearish momentum.
Equations for Dynamic Trailing Stop:
- For Long Positions: The exit price is set at the lower SuperTrend band once the entry condition is met.
- For Short Positions: The exit price is determined by the upper SuperTrend band post-entry.
These dynamic trailing stops adjust as the market moves, providing a method to lock in profits while allowing room for the position to grow.
This strategy's strength lies in its dual analysis approach, leveraging RMI for momentum insights and presentTrend for trend direction and dynamic stops. This combination offers traders a robust framework to navigate various market conditions, aiming to capture trends early and exit positions strategically to maximize gains and minimize losses.
█ Trade Direction
The strategy provides flexibility in trade direction selection, offering "Long," "Short," or "Both" options to cater to different market conditions and trader preferences. This adaptability ensures that traders can align the strategy with their market outlook, risk tolerance, and trading goals.
█ Usage
To utilize the "PresentTrend RMI Synergy Strategy," traders should input their preferred settings in the Pine Script™ and apply the strategy to their charts. Monitoring RMI for momentum shifts and adjusting positions based on SuperTrend signals can optimize entry and exit points, enhancing potential returns while managing risk.
█ Default Settings
1. RMI Length: 21
The 21-period RMI length strikes a balance between capturing momentum and filtering out market noise, offering a medium-term outlook on market trends.
2. Super Trend Length: 7
A SuperTrend length of 7 periods is chosen for its responsiveness to price movements, providing a dynamic framework for trend identification without excessive sensitivity.
3. Super Trend Multiplier: 4.0
The multiplier of 4.0 for the SuperTrend indicator widens the trend bands, focusing on significant market moves and reducing the impact of minor fluctuations.
---
The "PresentTrend RMI Synergy Strategy" represents a significant step forward in trading strategy development, blending momentum and trend analysis in a unique way. By providing a detailed framework for understanding market dynamics, this strategy empowers traders to make more informed decisions.
3LS | 3 Line Strike Strategy [Kintsugi Trading]What is the 3LS | 3 Line Strike Strategy?
Incorporating the 3 Line Strike candlestick pattern into our strategy was inspired by Arty at The Moving Average and the amazing traders at TheTrdFloor .
The Three Line Strike is a trend continuation candlestick pattern consisting of four candles. Depending on their heights and collocation, a bullish or a bearish trend continuation can be predicted.
In a symphony of trend analysis, price action, and volume we can find and place high-probability trades with the 3LS Strategy.
How to use it!
----- First, start by choosing a Stop-Loss Strategy, Stop PIP Size, and Risk/Reward Ratio -----
- Stop-Loss Strategy
Fixed PIP Size – This uses the top/bottom of the indicator candle and places a TP based on the chosen Risk:Reward ratio.
ATR Trail (No set Target Profit, only uses ATR Stop)
ATR Trail-Stop (Has set Target Profit, however, stop is based on ATR inputs)
**If you choose an ATR Stop-Loss Strategy - input the desired ATR period and Multiple you would like the stop to be calculated at**
**ATR Stop-Loss Strategies have a unique alert setup for Auto-Trading. See Auto-Trading Section**
- Risk/Reward Ratio = If you have a .5 risk/reward, it means you are risking $100 to make $50.
- Additional Stop PIP Size = Number of PIPs over the default stop location of the top or bottom of the indicator candle.
----- Next, we set the Session Filter -----
Set the Timezone and Trade Session you desire. If no specific session is desired, simply set the Trade Session to 00:00 - 00:00.
----- Next, we set the Moving Average Cloud Fill -----
Enter the Fast and Slow Moving Average Length used to calculate trend direction:
MA Period Fast
MA Period Slow
These inputs will determine whether the strategy looks for Long or Short positions.
----- Next, we set the VSA – Volume Spread Analysis Settings -----
Check the box to show the indicator at the bottom of the chart if desired.
This is just a different visual output of the VSA | Volume Spread Analysis indicator available for free under the community indicators tab. You can add that indicator to your chart and see the same output in candle format.
In combination with the Moving Average Cloud, the Volume Spread Analysis will help us determine when to take a trade and in what direction.
The strategy is essentially looking for small reversals going against the overall trend and placing a trade once that reversal ends and the price moves back in the direction of the overall trend.
The 3LS Strategy utilizes confirmation between trend, volume, and price action to place high probability trades.
The VSA is completely customizable by:
Moving Average Length
MA-1 Multiplier
MA-2 Multiplier
MA-3 Multiplier
Check out the VSA | Volume Spread Analysis indicator in the community scripts section under the indicators tab to use this awesome resource on other strategies.
----- Next, we have the option to view the automated KT Bull/Bear Signals -----
Check the boxes to show the buy-sell signal on the chart if desired.
----- Next, we set the risk we want to use if Auto Trading the strategy -----
I always suggest using no more than 1-3% of your total account balance per trade. Remember, if you have multiple strategies triggering per day with each using 1%, the total percent at risk will be much larger.
For Example – if you have 10 strategies each risking 1% your total risk is 10% of your account, not 1%! Be mindful to only use 1-3% of your total account balance across all strategies, not just each individual one.
----- Finally, we backtest our ideas -----
After using the 'Strategy Tester' tab on TradingView to thoroughly backtest your predictions you are ready to take it to the next level - Automated Trading!
This was my whole reason for creating the script. If you work a full-time job, live in a time zone that is hard to trade, or just don't have the patience, this will be a game-changer for you as it was for me.
Auto-Trading
When it comes to auto-trading this strategy I have included two options in the script that utilize the alert messages generated by TradingView.
*Note: Please trade on a demo account until you feel comfortable enough to use real money, and then please stick to 1%-2% of your total account value in risk per trade.*
AutoView
PineConnector
**ATR Auto-Trading Alert Setup**
How to create alerts on 3 Line Strike Strategy
For Trailing Stops:
1) Adjust autoview/pineconnector settings
2) Click "add alert"
3) Select "Condition" = Strategy Name
4) Select "Order Fills Only" from the drop-down
3) Remove template message text from "message" box and place the exact text. '{{strategy.order.alert_message}}'
4) Click "create"
For Fixed Pip Stop:
1) Adjust autoview/pineconnector settings
2) Click "add alert"
3) Select "Condition" = Strategy Name
4) Select "alert() function calls only"
5) I like to title my Alert Name the same thing I named it as an Indicator Template to keep track
Good luck with your trading!
Donchian DipThe Donchian Dip
This strategy is designed to look for good "Buy the Dip" entries on stocks that are clearly in a strong 1-year upward trend. If you do not know how to identify those stocks on your own please do not use this system or continue your education until you do. The Donchian Dip strategy was designed on the daily time frame but works amazingly well on both daily and weekly timeframes. It does still work on intraday charts also if the current trend on the daily chart is in a strong uptrend.
Chart Setup:
3-period Donchian Channel with a 1-period offset (hide basis)
Bollinger Bands with the default settings of 20/2 (display basis)
Entry Signals:
There are 3 different entry signals that will be printed on the chart that have similar underlying criteria but are ranked based on skill level just like ski slope skill levels! I recommend only taking green entries until you are familiar with the system and the stocks you are trading.
Green Easy Entry:
This is the safest buy the dip entry that is normally found at or near a large retracement bottom. You might get one or two bad entries but be persistent and eventually, a great entry will present itself!
These are the specifics for the conditions that trigger a Green entry if you want to know what they are:
1. The current bar is an up bar (green or white bar) and closed above the lower Donchian channel
2. Previous bar or 2 bars back closed below the lower Donchian channel
3. Previous bar or 2 bars back closed below the Bollinger Band Basis (20 SMA )
4. The low of the previous bar or 2 bars back was below the lower Bollinger Band
Blue Intermediate Entry:
This is a decent entry if you missed the green entry, want to add to an existing position, or are not sure it will pull back far enough to even give a green entry. I would suggest only trade these entries to add to an existing pyramid position or get back into a trade that you were recently stopped out of. However, on high-flying stocks like TSLA these signals and the Black Diamond entry signals might be the only ones you get for a long time. Also, on the weekly chart, Blue or Black entries are sometimes all you will get for a year or more.
These are the specifics for the conditions that trigger a Blue entry if you want to know what they are:
1. The current bar is an up bar (green or white bar) and closed above the lower Donchian channel
2. Previous bar or 2 bars back closed below the lower Donchian channel
3. Previous bar or 2 bars back closed below the Bollinger Band Basis (20 SMA )
Black Diamond Advanced Rule:
This is normally just a small pullback re-entry signal on a strong trending stock like TSLA ...trade with extreme caution!!! You have been warned but daredevils feel free to give it a shot. I sometimes do trade these entries if the market and sector of the stock I am trading are extremely bullish or if I am looking to add to a position but I use a conservative stop.
These are the specifics for the conditions that trigger a Black entry if you want to know what they are:
1. The current bar is an up bar (green or white bar) and closed above the lower Donchian channel
2. Previous bar or 2 bars back closed below the lower Donchian channel
3. Previous bar or 2 bars back closed above the Bollinger Band Basis (20 SMA )
Exit Criteria:
The goal of this strategy is to buy the dip and hold as long as possible...let's practice some Paytience and exercise those holding muscles! RLT!!!
So, we don't want to exit early but we also want to protect our profits somehow. We do this by using the built-in trailing stops that are defined by dots of three different shades of purple on the chart (feel free to change these in the settings). Simply move your trailing stop to the highest current dot price level. Do not move the trailing stop down ever even if a lower dot is printed later. These are simply the suggested trailing stops and definitely use your own judgment for exits but if you backtest this strategy enough you will most likely discover that in the long run, these trailing stops work really well.
I hope this strategy helps you to identify good "Buy the Dip" entries on stocks you love as well as trains you to hold your winners longer for bigger gains.
***HOW TO ADD TO YOUR CHARTS***
1) Click the "Add to Favorite Scripts" button
2) Go to a stock chart and click the "Indicators" icon at the top
3) Next, on the left, click the "Favorites" and then click the "Naked Put - Growth Indicator v2"
4) It should appear on your charts, and you can click the "gear" icon on the study to edit a few settings.
5) Read the release notes above so you understand how it works.
Supertrend - Delayed TrailI use supertrend for for trailing stops. One of the problem of trailing stops in long term trend trading is we get stopped too early and then trend continues. To avoid this problem, we can limit or delay our trailing.
In this modified version of supertrend, we can delay trailing by two methods:
Bars : Trail after certain bars. Input DelayBars says after how many bars it should trail.
Steps : Trail after reaching equivalent stop on the other side.
ConsiderWicks option reverse direction upon high reaching trailing Sell stop or low reaching trailing buy stop (instead of close)
ConsiderWicksForDelayByStep does the same thing for calculating if the steps have reached.
Move Up StopsThis script creates a stop loss level and then moves it up in 5% increments as prices increase.
Basically, it checks to see if the lowest low of the last 7 days is above a certain level. If yes, it sets the stop at that level. It then checks for the next highest level and keeps going until the price is not above a level. Those variables are then set to the level below them.
Trailing stops are notorious for skewing backtest results. This script avoids that problem. Also, some exchanges do not offer trailing stops, so this script gives you a signal to let you know its time to manually move your stops up.
I will be using this for swing trades involving both crypto and stocks.
PpSignal Chandelier StopThere are few indicators for MT4 which draw trailing stop line. I prefer to use Chandelier Stops. I believe that with good money management this is one of the best tools to follow a trend.
About ATR trailing stop loss (Chandelier Stops)
When you catch trend you can profit from most of the move. The good thing about ATR is that you have a stop loss level in place. When there is a close on the other side of ATR, it is a signal to close. No second guessing.
Best time frame for ATR trailing stop loss
I strongly recommend time frames such as 30m or larger. On lower time frames like 5m there is too much algo trading. I trade with ATR on 1h or 4h charts.
Parameters for trailing stop
Depends on pair or instrument. In most cases standard parameters will be fine. If I change anything then it is usually a Kv parameter. Standard is 3.5 and I tend to make it bigger like 3.7 or 4.0. In most cases it is around 3.7.
ATR trailing stop loss (Chandelier Exit) – Metatrader download
January 1, 2018 by simon in forex indicators
In this section you can download ATR trailing stop loss (Chandelier Exit) for MetaTrader:
– download ATR trailing stop loss (Chandelier Exit) for MetaTrader 4 –
There are few indicators for MT4 which draw trailing stop line. I prefer to use Chandelier Stops. I believe that with good money management this is one of the best tools to follow a trend.
About ATR trailing stop loss (Chandelier Stops)
When you catch trend you can profit from most of the move. The good thing about ATR is that you have a stop loss level in place. When there is a close on the other side of ATR, it is a signal to close. No second guessing.
Over 300 pips in profit thanks to ATR stop
Over 300 pips in profit thanks to ATR stop
Best time frame for ATR trailing stop loss
I strongly recommend time frames such as 30m or larger. On lower time frames like 5m there is too much algo trading. I trade with ATR on 1h or 4h charts.
Parameters for trailing stop
Depends on pair or instrument. In most cases standard parameters will be fine. If I change anything then it is usually a Kv parameter. Standard is 3.5 and I tend to make it bigger like 3.7 or 4.0. In most cases it is around 3.7.
Remember, it depends from pair and current situation in the market. You should experiment with few settings and check it on historical price action if they are ok.
Best pairs to trade with ATR trailing stop loss
Trailing stop loss works best in trending markets. That is why you should check pair if it tends to move strong or to move in range. It is not the secret that yen pairs line to move strongly. If you are looking for solid trends, you can’t go wrong with GBPJPY or EURJPY.
Cowabunga System from babypips.comPlease do read the information below as well, especially if you are new to Forex.
The Cowabunga System is a type of Mechanical Trading System that filters trades based on the trend of the 4 hour chart with EMAs and some other familiar indicators (RSI, Stochastics and MACD) while entering trades base on 15 minute chart.
I have coded (quite amateurishly) the basic system onto a 15 minute chart (the 4 hour settings are coded as well). The author says the system is to be traded off the 15 minute chart with the 4 hour chart only as a reference for trend direction.
4 Hour Chart Settings
5 EMA
10 EMA
Stochastics (10,3,3)
RSI (9)
Then we move onto the 15 minute chart, where he gives us the trade entry rules.
15 Minute Chart Settings
5 EMA
10 EMA
Stochastics (10,3,3)
RSI (9)
MACD (12,26,9)
Entry Rules - long entry rules used, obviously reverse these for shorting.
1. EMA must cross above the 10 EMA.
2. RSI must be greater than 50 and not overbought.
3. Stochastic must be headed up and not be in overbought territory.
4. MACD histogram must go from negative to positive OR be negative and start to increase in value.
What I did.
1. Set the RSI and Stochastic levels to avoid entries when they indicate overbought conditions for long and oversold conditions for short (80 and 20 levels).
2. Users can input specific times they want to backtest.
3. User's can configure profit targets, trailing stops and stops. Default is set it to was 100 pips profit target with a 40 pip trailing stop. (Note, when you are changing these values, please note that each pip is worth 10, so 100 pips is entered as 1000.)
The Cowabunga System from babypips.com is another popular and active system. The author, Pip Surfer, continues to post wins and losses with this system. It shows there is a lot of honesty and integrity with this system if the author keeps up to date even 10 years later and is not afraid of sharing the times the system causes losses.
As an example of this, here is post he shared just last week . It's almost like a journal, he gives specific times and reasons why he entered, lets the readers know when he was stopped out, etc. I think that what he does is equally important as his system.
To read more about this system, visit the thread on babypips.com, click here.
HMA Crossover + ATR + Curvature (Long & Short)📏 Hull Moving Averages (Trend Filters)
- fastHMA = ta.hma(close, fastLength)
- slowHMA = ta.hma(close, slowLength)
These two HMAs act as dynamic trend indicators:
- A bullish crossover of fast over slow HMA signals a potential long setup.
- A bearish crossunder triggers short interest.
⚡️ Curvature (Acceleration Filter)
- curv = ta.change(ta.change(fastHMA))
This calculates the second-order change (akin to the second derivative) of the fast HMA — effectively the acceleration of the trend. It serves as a filter:
- For long entries: curv > curvThresh (positive acceleration)
- For short entries: curv < -curvThresh (negative acceleration)
It helps eliminate weak or stagnating moves by requiring momentum behind the crossover.
📈 Volatility-Based Risk Management (ATR)
- atr = ta.atr(atrLength)
- stopLoss = atr * atrMult
- trailStop = atr * trailMult
These define your:
- Initial stop loss: scaled to recent volatility using ATR and atrMult.
- Trailing stop: also ATR-scaled, to lock in gains dynamically as price moves favorably.
💰 Position Sizing via Risk Percent
- capital = strategy.equity
- riskCapital = capital * (riskPercent / 100)
- qty = riskCapital / stopLoss
This dynamically calculates the position size (qty) such that if the stop loss is hit, the loss does not exceed the predefined percentage of account equity. It’s a volatility-adjusted position sizing method, keeping your risk consistent regardless of market conditions.
📌 Execution Logic
- Long Entry: on bullish HMA crossover with rising curvature.
- Short Entry: on bearish crossover with falling curvature.
- Exits: use ATR-based trailing stops.
- Position is closed when trend conditions reverse (e.g., bearish crossover exits the long).
This framework gives you:
- Trend-following logic (via HMAs)
- Momentum confirmation (via curvature)
- Volatility-aware execution and exits (via ATR)
- Risk-controlled dynamic sizing
Want to get surgical and test what happens if we use curvature on the difference between HMAs instead? That might give some cool insights into trend strength transitions.
Long/Short/Exit/Risk management Strategy # LongShortExit Strategy Documentation
## Overview
The LongShortExit strategy is a versatile trading system for TradingView that provides complete control over entry, exit, and risk management parameters. It features a sophisticated framework for managing long and short positions with customizable profit targets, stop-loss mechanisms, partial profit-taking, and trailing stops. The strategy can be enhanced with continuous position signals for visual feedback on the current trading state.
## Key Features
### General Settings
- **Trading Direction**: Choose to trade long positions only, short positions only, or both.
- **Max Trades Per Day**: Limit the number of trades per day to prevent overtrading.
- **Bars Between Trades**: Enforce a minimum number of bars between consecutive trades.
### Session Management
- **Session Control**: Restrict trading to specific times of the day.
- **Time Zone**: Specify the time zone for session calculations.
- **Expiration**: Optionally set a date when the strategy should stop executing.
### Contract Settings
- **Contract Type**: Select from common futures contracts (MNQ, MES, NQ, ES) or custom values.
- **Point Value**: Define the dollar value per point movement.
- **Tick Size**: Set the minimum price movement for accurate calculations.
### Visual Signals
- **Continuous Position Signals**: Implement 0 to 1 visual signals to track position states.
- **Signal Plotting**: Customize color and appearance of position signals.
- **Clear Visual Feedback**: Instantly see when entry conditions are triggered.
### Risk Management
#### Stop Loss and Take Profit
- **Risk Type**: Choose between percentage-based, ATR-based, or points-based risk management.
- **Percentage Mode**: Set SL/TP as a percentage of entry price.
- **ATR Mode**: Set SL/TP as a multiple of the Average True Range.
- **Points Mode**: Set SL/TP as a fixed number of points from entry.
#### Advanced Exit Features
- **Break-Even**: Automatically move stop-loss to break-even after reaching specified profit threshold.
- **Trailing Stop**: Implement a trailing stop-loss that follows price movement at a defined distance.
- **Partial Profit Taking**: Take partial profits at predetermined price levels:
- Set first partial exit point and percentage of position to close
- Set second partial exit point and percentage of position to close
- **Time-Based Exit**: Automatically exit a position after a specified number of bars.
#### Win/Loss Streak Management
- **Streak Cutoff**: Automatically pause trading after a series of consecutive wins or losses.
- **Daily Reset**: Option to reset streak counters at the start of each day.
### Entry Conditions
- **Source and Value**: Define the exact price source and value that triggers entries.
- **Equals Condition**: Entry signals occur when the source exactly matches the specified value.
### Performance Analytics
- **Real-Time Stats**: Track important performance metrics like win rate, P&L, and largest wins/losses.
- **Visual Feedback**: On-chart markers for entries, exits, and important events.
### External Integration
- **Webhook Support**: Compatible with TradingView's webhook alerts for automated trading.
- **Cross-Platform**: Connect to external trading systems and notification platforms.
- **Custom Order Execution**: Implement advanced order flows through external services.
## How to Use
### Setup Instructions
1. Add the script to your TradingView chart.
2. Configure the general settings based on your trading preferences.
3. Set session trading hours if you only want to trade specific times.
4. Select your contract specifications or customize for your instrument.
5. Configure risk parameters:
- Choose your preferred risk management approach
- Set appropriate stop-loss and take-profit levels
- Enable advanced features like break-even, trailing stops, or partial profit taking as needed
6. Define entry conditions:
- Select the price source (such as close, open, high, or an indicator)
- Set the specific value that should trigger entries
### Entry Condition Examples
- **Example 1**: To enter when price closes exactly at a whole number:
- Long Source: close
- Long Value: 4200 (for instance, to enter when price closes exactly at 4200)
- **Example 2**: To enter when an indicator reaches a specific value:
- Long Source: ta.rsi(close, 14)
- Long Value: 30 (triggers when RSI equals exactly 30)
### Best Practices
1. **Always backtest thoroughly** before using in live trading.
2. **Start with conservative risk settings**:
- Small position sizes
- Reasonable stop-loss distances
- Limited trades per day
3. **Monitor and adjust**:
- Use the performance table to track results
- Adjust parameters based on how the strategy performs
4. **Consider market volatility**:
- Use ATR-based stops during volatile periods
- Use fixed points during stable markets
## Continuous Position Signals Implementation
The LongShortExit strategy can be enhanced with continuous position signals to provide visual feedback about the current position state. These signals can help you track when the strategy is in a long or short position.
### Adding Continuous Position Signals
Add the following code to implement continuous position signals (0 to 1):
```pine
// Continuous position signals (0 to 1)
var float longSignal = 0.0
var float shortSignal = 0.0
// Update position signals based on your indicator's conditions
longSignal := longCondition ? 1.0 : 0.0
shortSignal := shortCondition ? 1.0 : 0.0
// Plot continuous signals
plot(longSignal, title="Long Signal", color=#00FF00, linewidth=2, transp=0, style=plot.style_line)
plot(shortSignal, title="Short Signal", color=#FF0000, linewidth=2, transp=0, style=plot.style_line)
```
### Benefits of Continuous Position Signals
- Provides clear visual feedback of current position state (long/short)
- Signal values stay consistent (0 or 1) until condition changes
- Can be used for additional calculations or alert conditions
- Makes it easier to track when entry conditions are triggered
### Using with Custom Indicators
You can adapt the continuous position signals to work with any custom indicator by replacing the condition with your indicator's logic:
```pine
// Example with moving average crossover
longSignal := fastMA > slowMA ? 1.0 : 0.0
shortSignal := fastMA < slowMA ? 1.0 : 0.0
```
## Webhook Integration
The LongShortExit strategy is fully compatible with TradingView's webhook alerts, allowing you to connect your strategy to external trading platforms, brokers, or custom applications for automated trading execution.
### Setting Up Webhooks
1. Create an alert on your chart with the LongShortExit strategy
2. Enable the "Webhook URL" option in the alert dialog
3. Enter your webhook endpoint URL (from your broker or custom trading system)
4. Customize the alert message with relevant information using TradingView variables
### Webhook Message Format Example
```json
{
"strategy": "LongShortExit",
"action": "{{strategy.order.action}}",
"price": "{{strategy.order.price}}",
"quantity": "{{strategy.position_size}}",
"time": "{{time}}",
"ticker": "{{ticker}}",
"position_size": "{{strategy.position_size}}",
"position_value": "{{strategy.position_value}}",
"order_id": "{{strategy.order.id}}",
"order_comment": "{{strategy.order.comment}}"
}
```
### TradingView Alert Condition Examples
For effective webhook automation, set up these alert conditions:
#### Entry Alert
```
{{strategy.position_size}} != {{strategy.position_size}}
```
#### Exit Alert
```
{{strategy.position_size}} < {{strategy.position_size}} or {{strategy.position_size}} > {{strategy.position_size}}
```
#### Partial Take Profit Alert
```
strategy.order.comment contains "Partial TP"
```
### Benefits of Webhook Integration
- **Automated Trading**: Execute trades automatically through supported brokers
- **Cross-Platform**: Connect to custom trading bots and applications
- **Real-Time Notifications**: Receive trade signals on external platforms
- **Data Collection**: Log trade data for further analysis
- **Custom Order Management**: Implement advanced order types not available in TradingView
### Compatible External Applications
- Trading bots and algorithmic trading software
- Custom order execution systems
- Discord, Telegram, or Slack notification systems
- Trade journaling applications
- Risk management platforms
### Implementation Recommendations
- Test webhook delivery using a free service like webhook.site before connecting to your actual trading system
- Include authentication tokens or API keys in your webhook URL or payload when required by your external service
- Consider implementing confirmation mechanisms to verify trade execution
- Log all webhook activities for troubleshooting and performance tracking
## Strategy Customization Tips
### For Scalping
- Set smaller profit targets (1-3 points)
- Use tighter stop-losses
- Enable break-even feature after small profit
- Set higher max trades per day
### For Day Trading
- Use moderate profit targets
- Implement partial profit taking
- Enable trailing stops
- Set reasonable session trading hours
### For Swing Trading
- Use longer-term charts
- Set wider stops (ATR-based often works well)
- Use higher profit targets
- Disable daily streak reset
## Common Troubleshooting
### Low Win Rate
- Consider widening stop-losses
- Verify that entry conditions aren't triggering too frequently
- Check if the equals condition is too restrictive; consider small tolerances
### Missing Obvious Trades
- The equals condition is extremely precise. Price must exactly match the specified value.
- Consider using floating-point precision for more reliable triggers
### Frequent Stop-Outs
- Try ATR-based stops instead of fixed points
- Increase the stop-loss distance
- Enable break-even feature to protect profits
## Important Notes
- The exact equals condition is strict and may result in fewer trade signals compared to other conditions.
- For instruments with decimal prices, exact equality might be rare. Consider the precision of your value.
- Break-even and trailing stop calculations are based on points, not percentage.
- Partial take-profit levels are defined in points distance from entry.
- The continuous position signals (0 to 1) provide valuable visual feedback but don't affect the strategy's trading logic directly.
- When implementing continuous signals, ensure they're aligned with the actual entry conditions used by the strategy.
---
*This strategy is for educational and informational purposes only. Always test thoroughly before using with real funds.*
Dskyz Adaptive Futures Elite (DAFE)Dskyz Adaptive Futures Edge (DAFE)
imgur.com
A Dynamic Futures Trading Strategy
DAFE adapts to market volatility and price action using technical indicators and advanced risk management. It’s built for high-stakes futures trading (e.g., MNQ, BTCUSDT.P), offering modular logic for scalpers and swing traders alike.
Key Features
Adaptive Moving Averages
Dynamic Logic: Fast and slow SMAs adjust lengths via ATR, reacting to momentum shifts and smoothing in calm markets.
Signals: Long entry on fast SMA crossing above slow SMA with price confirmation; short on cross below.
RSI Filtering (Optional)
Momentum Check: Confirms entries with RSI crossovers (e.g., above oversold for longs). Toggle on/off with custom levels.
Fine-Tuning: Adjustable lookback and thresholds (e.g., 60/40) for precision.
Candlestick Pattern Recognition
Eng|Enhanced Detection: Identifies strong bullish/bearish engulfing patterns, validated by volume and range strength (vs. 10-period SMA).
Conflict Avoidance: Skips trades if both patterns appear in the lookback window, reducing whipsaws.
Multi-Timeframe Trend Filter
15-Minute Alignment: Syncs intrabar trades with 15-minute SMA trends; optional for flexibility.
Dollar-Cost Averaging (DCA) New!
Scaling: Adds up to a set number of entries (e.g., 4) on pullbacks/rallies, spaced by ATR multiples.
Control: Caps exposure and resets on exit, enhancing trend-following potential.
Trade Execution & Risk Management
Entry Rules: Prioritizes moving averages or patterns (user choice), with volume, volatility, and time filters.
Stops & Trails:
Initial Stop: ATR-based (2–3.5x, volatility-adjusted).
Trailing Stop: Locks profits with configurable ATR offset and multiplier.
Discipline
Cooldown: Pauses post-exit (e.g., 0–5 minutes).
Min Hold: Ensures trades last a set number of bars (e.g., 2–10).
Visualization & Tools
Charts: Overlays MAs, stops, and signals; trend shaded in background.
Dashboard: Shows position, P&L, win rate, and more in real-time.
Debugging: Logs signal details for optimization.
Input Parameters
Parameter Purpose Suggested Use
Use RSI Filter - Toggle RSI confirmation *Disable 4 price-only
trading
RSI Length - RSI period (e.g., 14) *7–14 for sensitivity
RSI Overbought/Oversold - Adjust for market type *Set levels (e.g., 60/40)
Use Candlestick Patterns - Enables engulfing signals *Disable for MA focus
Pattern Lookback - Pattern window (e.g., 19) *10–20 bars for balance
Use 15m Trend Filter - Align with 15-min trend *Enable for trend trades
Fast/Slow MA Length - Base MA lengths (e.g., 9/19) *10–25 / 30–60 per
timeframe
Volatility Threshold - Filters volatile spikes *Max ATR/close (e.g., 1%)
Min Volume - Entry volume threshold *Avoid illiquid periods
(e.g., 10)
ATR Length - ATR period (e.g., 14) *Standard volatility
measure
Trailing Stop ATR Offset - Trail distance (e.g., 0.5) *0.5–1.5 for tightness
Trailing Stop ATR Multi - Trail multiplier (e.g., 1.0) *1–3 for trend room
Cooldown Minutes - Post-exit pause (e.g., 0–5) *Prevents overtrading
Min Bars to Hold - Min trade duration (e.g., 2) *5–10 for intraday
Trading Hours - Active window (e.g., 9–16) *Focus on key sessions
Use DCA - Toggle DCA *Enable for scaling
Max DCA Entries - Cap entries (e.g., 4) *Limit risk exposure
DCA ATR Multiplier Entry spacing (e.g., 1.0) *1–2 for wider gaps
Compliance
Realistic Testing: Fixed quantities, capital, and slippage for accurate backtests.
Transparency: All logic is user-visible and adjustable.
Risk Controls: Cooldowns, stops, and hold periods ensure stability.
Flexibility: Adapts to various futures and timeframes.
Summary
DAFE excels in volatile futures markets with adaptive logic, DCA scaling, and robust risk tools. Currently in prop account testing, it’s a powerful framework for precision trading.
Caution
DAFE is experimental, not a profit guarantee. Futures trading risks significant losses due to leverage. Backtest, simulate, and monitor actively before live use. All trading decisions are your responsibility.
Multi-Timeframe MACD Strategy ver 1.0Multi-Timeframe MACD Strategy: Enhanced Trend Trading with Customizable Entry and Trailing Stop
This strategy utilizes the Moving Average Convergence Divergence (MACD) indicator across multiple timeframes to identify strong trends, generate precise entry and exit signals, and manage risk with an optional trailing stop loss. By combining the insights of both the current chart's timeframe and a user-defined higher timeframe, this strategy aims to improve trade accuracy, reduce exposure to false signals, and capture larger market moves.
Key Features:
Dual Timeframe Analysis: Calculates and analyzes the MACD on both the current chart's timeframe and a user-selected higher timeframe (e.g., Daily MACD on a 1-hour chart). This provides a broader market context, helping to confirm trends and filter out short-term noise.
Configurable MACD: Fine-tune the MACD calculation with adjustable Fast Length, Slow Length, and Signal Length parameters. Optimize the indicator's sensitivity to match your trading style and the volatility of the asset.
Flexible Entry Options: Choose between three distinct entry types:
Crossover: Enters trades when the MACD line crosses above (long) or below (short) the Signal line.
Zero Cross: Enters trades when the MACD line crosses above (long) or below (short) the zero line.
Both: Combines both Crossover and Zero Cross signals, providing more potential entry opportunities.
Independent Timeframe Control: Display and trade based on the current timeframe MACD, the higher timeframe MACD, or both. This allows you to focus on the information most relevant to your analysis.
Optional Trailing Stop Loss: Implements a configurable trailing stop loss to protect profits and limit potential losses. The trailing stop is adjusted dynamically as the price moves in your favor, based on a user-defined percentage.
No Repainting: Employs lookahead=barmerge.lookahead_off in the request.security() function to prevent data leakage and ensure accurate backtesting and real-time signals.
Clear Visual Signals (Optional): Includes optional plotting of the MACD and Signal lines for both timeframes, with distinct colors for easy visual identification. These plots are for visual confirmation and are not required for the strategy's logic.
Suitable for Various Trading Styles: Adaptable to swing trading, day trading, and trend-following strategies across diverse markets (stocks, forex, cryptocurrencies, etc.).
Fully Customizable: All parameters are adjustable, including timeframes, MACD Settings, Entry signal type and trailing stop settings.
How it Works:
MACD Calculation: The strategy calculates the MACD (using the standard formula) for both the current chart's timeframe and the specified higher timeframe.
Trend Identification: The relationship between the MACD line, Signal line, and zero line is used to determine the current trend for each timeframe.
Entry Signals: Buy/sell signals are generated based on the selected "Entry Type":
Crossover: A long signal is generated when the MACD line crosses above the Signal line, and both timeframes are in agreement (if both are enabled). A short signal is generated when the MACD line crosses below the Signal line, and both timeframes are in agreement.
Zero Cross: A long signal is generated when the MACD line crosses above the zero line, and both timeframes agree. A short signal is generated when the MACD line crosses below the zero line and both timeframes agree.
Both: Combines Crossover and Zero Cross signals.
Trailing Stop Loss (Optional): If enabled, a trailing stop loss is set at a specified percentage below (for long positions) or above (for short positions) the entry price. The stop-loss is automatically adjusted as the price moves favorably.
Exit Signals:
Without Trailing Stop: Positions are closed when the MACD signals reverse according to the selected "Entry Type" (e.g., a long position is closed when the MACD line crosses below the Signal line if using "Crossover" entries).
With Trailing Stop: Positions are closed if the price hits the trailing stop loss.
Backtesting and Optimization: The strategy automatically backtests on the chart's historical data, allowing you to assess its performance and optimize parameters for different assets and timeframes.
Example Use Cases:
Confirming Trend Strength: A trader on a 1-hour chart sees a bullish MACD crossover on the current timeframe. They check the MTF MACD strategy and see that the Daily MACD is also bullish, confirming the strength of the uptrend.
Filtering Noise: A trader using a 15-minute chart wants to avoid false signals from short-term volatility. They use the strategy with a 4-hour higher timeframe to filter out noise and only trade in the direction of the dominant trend.
Dynamic Risk Management: A trader enters a long position and enables the trailing stop loss. As the price rises, the trailing stop is automatically adjusted upwards, protecting profits. The trade is exited either when the MACD reverses or when the price hits the trailing stop.
Disclaimer:
The MACD is a lagging indicator and can produce false signals, especially in ranging markets. This strategy is for educational and informational purposes only and should not be considered financial advice. Backtest and optimize the strategy thoroughly, combine it with other technical analysis tools, and always implement sound risk management practices before using it with real capital. Past performance is not indicative of future results. Conduct your own due diligence and consider your risk tolerance before making any trading decisions.
Awesome Oscillator (AO) with Signals [AIBitcoinTrend]👽 Multi-Scale Awesome Oscillator (AO) with Signals (AIBitcoinTrend)
The Multi-Scale Awesome Oscillator transforms the traditional Awesome Oscillator (AO) by integrating multi-scale wavelet filtering, enhancing its ability to detect momentum shifts while maintaining responsiveness across different market conditions.
Unlike conventional AO calculations, this advanced version refines trend structures using high-frequency, medium-frequency, and low-frequency wavelet components, providing traders with superior clarity and adaptability.
Additionally, it features real-time divergence detection and an ATR-based dynamic trailing stop, making it a powerful tool for momentum analysis, reversals, and breakout strategies.
👽 What Makes the Multi-Scale AO – Wavelet-Enhanced Momentum Unique?
Unlike traditional AO indicators, this enhanced version leverages wavelet-based decomposition and volatility-adjusted normalization, ensuring improved signal consistency across various timeframes and assets.
✅ Wavelet Smoothing – Multi-Scale Extraction – Captures short-term fluctuations while preserving broader trend structures.
✅ Frequency-Based Detail Weights – Separates high, medium, and low-frequency components to reduce noise and improve trend clarity.
✅ Real-Time Divergence Detection – Identifies bullish and bearish divergences for early trend reversals.
✅ Crossovers & ATR-Based Trailing Stops – Implements intelligent trade management with adaptive stop-loss levels.
👽 The Math Behind the Indicator
👾 Wavelet-Based AO Smoothing
The indicator applies multi-scale wavelet decomposition to extract high-frequency, medium-frequency, and low-frequency trend components, ensuring an optimal balance between reactivity and smoothness.
sma1 = ta.sma(signal, waveletPeriod1)
sma2 = ta.sma(signal, waveletPeriod2)
sma3 = ta.sma(signal, waveletPeriod3)
detail1 = signal - sma1 // High-frequency detail
detail2 = sma1 - sma2 // Intermediate detail
detail3 = sma2 - sma3 // Low-frequency detail
advancedAO = weightDetail1 * detail1 + weightDetail2 * detail2 + weightDetail3 * detail3
Why It Works:
Short-Term Smoothing: Captures rapid fluctuations while minimizing noise.
Medium-Term Smoothing: Balances short-term and long-term trends.
Long-Term Smoothing: Enhances trend stability and reduces false signals.
👾 Z-Score Normalization
To ensure consistency across different markets, the Awesome Oscillator is normalized using a Z-score transformation, making overbought and oversold levels stable across all assets.
normFactor = ta.stdev(advancedAO, normPeriod)
normalizedAO = advancedAO / nz(normFactor, 1)
Why It Works:
Standardizes AO values for comparison across assets.
Enhances signal reliability, preventing misleading spikes.
👽 How Traders Can Use This Indicator
👾 Divergence Trading Strategy
Bullish Divergence
Price makes a lower low, while AO forms a higher low.
A buy signal is confirmed when AO starts rising.
Bearish Divergence
Price makes a higher high, while AO forms a lower high.
A sell signal is confirmed when AO starts declining.
👾 Buy & Sell Signals with Trailing Stop
Bullish Setup:
✅AO crosses above the bullish trigger level → Buy Signal.
✅Trailing stop placed at Low - (ATR × Multiplier).
✅Exit if price crosses below the stop.
Bearish Setup:
✅AO crosses below the bearish trigger level → Sell Signal.
✅Trailing stop placed at High + (ATR × Multiplier).
✅Exit if price crosses above the stop.
👽 Why It’s Useful for Traders
Wavelet-Enhanced Filtering – Retains essential trend details while eliminating excessive noise.
Multi-Scale Momentum Analysis – Separates different trend frequencies for enhanced clarity.
Real-Time Divergence Alerts – Identifies early reversal signals for better entries and exits.
ATR-Based Risk Management – Ensures stops dynamically adapt to market conditions.
Works Across Markets & Timeframes – Suitable for stocks, forex, crypto, and futures trading.
👽 Indicator Settings
AO Short Period – Defines the short-term moving average for AO calculation.
AO Long Period – Defines the long-term moving average for AO smoothing.
Wavelet Smoothing – Adjusts multi-scale decomposition for different market conditions.
Divergence Detection – Enables or disables real-time divergence analysis. Normalization Period – Sets the lookback period for standard deviation-based AO normalization.
Cross Signals Sensitivity – Controls crossover signal strength for buy/sell signals.
ATR Trailing Stop Multiplier – Adjusts the sensitivity of the trailing stop.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
Enhanced ROC - Savitzky–Golay [AIBitcoinTrend]👽 Adaptive ROC - Savitzky–Golay (AIBitcoinTrend)
The Adaptive ROC - Savitzky–Golay redefines traditional Rate of Change (ROC) analysis by integrating Savitzky–Golay smoothing with volatility-adaptive normalization, allowing it to dynamically adjust across different market conditions. Unlike the standard ROC, which reacts rigidly to price changes, this advanced version refines trend signals while maintaining responsiveness to volatility.
Additionally, this indicator features real-time divergence detection and an ATR-based trailing stop system, equipping traders with a powerful toolset for momentum analysis, reversals, and trend-following strategies.
👽 What Makes the Adaptive ROC - Savitzky–Golay Unique?
Unlike conventional ROC indicators, this enhanced version leverages volatility-adjusted scaling and Z-score normalization to improve signal consistency across different timeframes and assets.
✅ Savitzky–Golay Smoothing – Reduces noise while preserving trend structure for clearer signals.
✅ Volatility-Adaptive Normalization – Ensures that overbought and oversold thresholds remain consistent across different markets.
✅ Real-Time Divergence Detection – Identifies early bullish and bearish divergence signals for potential reversals.
✅ Crossovers & ATR-Based Trailing Stops – Implements intelligent trade management with dynamic stop levels.
👽 The Math Behind the Indicator
👾 Savitzky–Golay Smoothing
The indicator applies a Savitzky–Golay filter to the raw ROC data, creating a smoother curve while preserving key inflection points. This technique prevents excessive lag while maintaining the integrity of price movements.
sg_roc = (roc_raw + 3*roc_raw + 5*roc_raw + 7*roc_raw + 5*roc_raw + 3*roc_raw + roc_raw ) / 25
👾 Volatility-Adaptive Scaling
By dynamically adjusting the smoothed ROC using standard deviation, the indicator ensures that momentum readings remain relative to the market’s current volatility.
volatility = ta.stdev(close, rocLength)
dynamicFactor = 1 / (1 + volatility / 100)
advanced_sg_roc = sg_roc * dynamicFactor
👾 Z-Score Normalization
To maintain a stable Overbought/Oversold structure across different markets, the ROC is normalized using a Z-score transformation, ensuring its values remain statistically relevant.
rocMean = ta.wma(advanced_sg_roc, lenZ)
rocStdev = ta.stdev(advanced_sg_roc, lenZ)
zRoc = (advanced_sg_roc - rocMean) / rocStdev
👽 How Traders Can Use This Indicator
👾 Divergence Trading Strategy
Bullish Divergence Setup:
Price makes a lower low, while the ROC forms a higher low.
A buy signal is confirmed when the ROC starts rising.
Bearish Divergence Setup:
Price makes a higher high, while the ROC forms a lower high.
A sell signal is confirmed when the ROC starts declining.
👾 Buy & Sell Signals with Trailing Stop
Bullish Setup:
✅ ROC crosses above the bullish trigger level → Buy Signal.
✅ A bullish trailing stop is placed at Low - (ATR × Multiplier).
✅ Exit if price crosses below the stop.
Bearish Setup:
✅ ROC crosses below the bearish trigger level → Sell Signal.
✅ A bearish trailing stop is placed at High + (ATR × Multiplier).
✅ Exit if price crosses above the stop.
👽 Why It’s Useful for Traders
Savitzky–Golay Filtering – Retains essential trend details while eliminating excessive noise.
Volatility-Adjusted Normalization – Makes overbought/oversold levels universally reliable across markets.
Real-Time Divergence Alerts – Identifies early reversal signals for optimal entries and exits.
ATR-Based Risk Management – Ensures stops dynamically adapt to market conditions.
Works Across Markets & Timeframes - Suitable for stocks, forex, crypto, and futures trading.
👽 Indicator Settings
ROC Period – Defines the number of bars used for ROC calculation.
Smoothing Strength – Adjusts the degree of Savitzky–Golay filtering.
Volatility Scaling – Enables or disables the adaptive volatility factor.
Enable Divergence Analysis – Turns on real-time divergence detection.
Lookback Period – Specifies the pivot detection period for divergences.
Enable Crosses Signals – Activates trade signals based on ROC crossovers.
ATR Multiplier – Controls the sensitivity of the trailing stop.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
Volatility-Enhanced Williams %R [AIBitcoinTrend]👽 Volatility-Enhanced Williams %R (AIBitcoinTrend)
The Volatility-Enhanced Williams %R takes the classic Williams %R oscillator to the next level by incorporating volatility-adaptive smoothing, making it significantly more responsive to market dynamics. Unlike the traditional version, which uses a fixed calculation method, this indicator dynamically adjusts its smoothing factor based on market volatility, helping traders capture trends more effectively while filtering out noise.
Additionally, the indicator includes real-time divergence detection and an ATR-based trailing stop system, providing traders with enhanced risk management tools and early reversal signals.
👽 What Makes the Volatility-Enhanced Williams %R Unique?
Unlike the standard Williams %R, which applies a simple lookback-based formula, this version integrates adaptive smoothing and volatility-based filtering to refine its signals and reduce false breakouts.
✅ Volatility-Adaptive Smoothing – Adjusts dynamically based on standard deviation, enhancing signal accuracy.
✅ Real-Time Divergence Detection – Identifies bullish and bearish divergences for early trend reversal signals.
✅ Crossovers & Trailing Stops – Implements Williams %R crossovers with ATR-based trailing stops for intelligent trade management.
👽 The Math Behind the Indicator
👾 Volatility-Adaptive Smoothing
The indicator smooths the Williams %R calculation by applying an adaptive filtering mechanism, which adjusts its responsiveness based on market conditions. This helps to eliminate whipsaws and makes trend-following strategies more reliable.
The smoothing function is defined as:
clamp(x, lo, hi) => math.min(math.max(x, lo), hi)
adaptive(src, prev, len, divisor, minAlpha, maxAlpha) =>
vol = ta.stdev(src, len)
alpha = clamp(vol / divisor, minAlpha, maxAlpha)
prev + alpha * (src - prev)
Where:
Volatility Factor (vol) measures price dispersion using standard deviation.
Adaptive Alpha (alpha) dynamically adjusts smoothing strength.
Clamped Output ensures that the smoothing factor remains within a stable range.
👽 How Traders Can Use This Indicator
👾 Divergence Trading Strategy
Bullish Divergence Setup:
Price makes a lower low, while Williams %R forms a higher low.
Buy signal is confirmed when Williams %R reverses upward.
Bearish Divergence Setup:
Price makes a higher high, while Williams %R forms a lower high.
Sell signal is confirmed when Williams %R reverses downward.
👾 Trailing Stop & Signal-Based Trading
Bullish Setup:
✅ Williams %R crosses above trigger level → Buy signal.
✅ A bullish trailing stop is placed at Low - (ATR × Multiplier).
✅ Exit if price crosses below the stop.
Bearish Setup:
✅ Williams %R crosses below trigger level → Sell signal.
✅ A bearish trailing stop is placed at High + (ATR × Multiplier).
✅ Exit if price crosses above the stop.
👽 Why It’s Useful for Traders
Adaptive Filtering Mechanism – Avoids excessive noise while maintaining responsiveness.
Real-Time Divergence Alerts – Helps traders anticipate market reversals before they occur.
ATR-Based Risk Management – Stops dynamically adjust based on market volatility.
Multi-Market Compatibility – Works effectively across stocks, forex, crypto, and futures.
👽 Indicator Settings
Smoothing Factor – Controls how aggressively the indicator adapts to volatility.
Enable Divergence Analysis – Activates real-time divergence detection.
Lookback Period – Defines the number of bars for detecting pivot points.
Enable Crosses Signals – Turns on Williams %R crossover-based trade signals.
ATR Multiplier – Adjusts trailing stop sensitivity.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
CCI with Signals & Divergence [AIBitcoinTrend]👽 CCI with Signals & Divergence (AIBitcoinTrend)
The Hilbert Adaptive CCI with Signals & Divergence takes the traditional Commodity Channel Index (CCI) to the next level by dynamically adjusting its calculation period based on real-time market cycles using Hilbert Transform Cycle Detection. This makes it far superior to standard CCI, as it adapts to fast-moving trends and slow consolidations, filtering noise and improving signal accuracy.
Additionally, the indicator includes real-time divergence detection and an ATR-based trailing stop system, helping traders identify potential reversals and manage risk effectively.
👽 What Makes the Hilbert Adaptive CCI Unique?
Unlike the traditional CCI, which uses a fixed-length lookback period, this version automatically adjusts its lookback period using Hilbert Transform to detect the dominant cycle in the market.
✅ Hilbert Transform Adaptive Lookback – Dynamically detects cycle length to adjust CCI sensitivity.
✅ Real-Time Divergence Detection – Instantly identifies bullish and bearish divergences for early reversal signals.
✅ Implement Crossover/Crossunder signals tied to ATR-based trailing stops for risk management
👽 The Math Behind the Indicator
👾 Hilbert Transform Cycle Detection
The Hilbert Transform estimates the dominant market cycle length based on the frequency of price oscillations. It is computed using the in-phase and quadrature components of the price series:
tp = (high + low + close) / 3
smooth = (tp + 2 * tp + 2 * tp + tp ) / 6
detrender = smooth - smooth
quadrature = detrender - detrender
inPhase = detrender + quadrature
outPhase = quadrature - inPhase
instPeriod = 0.0
deltaPhase = math.abs(inPhase - inPhase ) + math.abs(outPhase - outPhase )
instPeriod := nz(3.25 / deltaPhase, instPeriod )
dominantCycle = int(math.min(math.max(instPeriod, cciMinPeriod), 500))
Where:
In-Phase & Out-Phase Components are derived from a detrended version of the price series.
Instantaneous Frequency measures the rate of cycle change, allowing the CCI period to adjust dynamically.
The result is bounded within a user-defined min/max range, ensuring stability.
👽 How Traders Can Use This Indicator
👾 Divergence Trading Strategy
Bullish Divergence Setup:
Price makes a lower low, while CCI forms a higher low.
Buy signal is confirmed when CCI shows upward momentum.
Bearish Divergence Setup:
Price makes a higher high, while CCI forms a lower high.
Sell signal is confirmed when CCI shows downward momentum.
👾 Trailing Stop & Signal-Based Trading
Bullish Setup:
✅ CCI crosses above -100 → Buy signal.
✅ A bullish trailing stop is placed at Low - (ATR × Multiplier).
✅ Exit if the price crosses below the stop.
Bearish Setup:
✅ CCI crosses below 100 → Sell signal.
✅ A bearish trailing stop is placed at High + (ATR × Multiplier).
✅ Exit if the price crosses above the stop.
👽 Why It’s Useful for Traders
Hilbert Adaptive Period Calculation – No more fixed-length periods; the indicator dynamically adapts to market conditions.
Real-Time Divergence Alerts – Helps traders anticipate market reversals before they occur.
ATR-Based Risk Management – Stops automatically adjust based on volatility.
Works Across Multiple Markets & Timeframes – Ideal for stocks, forex, crypto, and futures.
👽 Indicator Settings
Min & Max CCI Period – Defines the adaptive range for Hilbert-based lookback.
Smoothing Factor – Controls the degree of smoothing applied to CCI.
Enable Divergence Analysis – Toggles real-time divergence detection.
Lookback Period – Defines the number of bars for detecting pivot points.
Enable Crosses Signals – Turns on CCI crossover-based trade signals.
ATR Multiplier – Adjusts trailing stop sensitivity.
Disclaimer: This indicator is designed for educational purposes and does not constitute financial advice. Please consult a qualified financial advisor before making investment decisions.
Milvetti_Pineconnector_LibraryLibrary "Milvetti_Pineconnector_Library"
This library has methods that provide practical signal transmission for Pineconnector.Developed By Milvetti
buy(licenseId, symbol, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a buy order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
sell(licenseId, symbol, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a buy order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
buyLimit(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a buy limit order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
buyStop(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a buy stop order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
sellLimit(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a sell limit order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
sellStop(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a sell stop order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
Volatility System by W. WilderVolatility System (Volatility Stops) Similarity
Most traders adjust their stops over time in the direction of the trend in order to lock in profits. Apart from moving averages, one of the most popular techniques is trailing stops using a multiple of Average True Range. There are several variations:
The original Volatility System(Volatility Stops), introduced by Welles Wilder in his 1978 book: New Concepts in Technical Trading Systems
Chandelier exits introduced by Alexander Elder in Come Into My Trading Room (2002) trail the stops from Highs or Lows rather than Closing Price
Average True Range Trailing Stops are similar to the above, but include a ratchet mechanism to prevent stops moving down during an up-trend or rising during a down-trend, as ATR increases
WillTrend intoduced by Larry Williams in 1988
Comparison of systems
All the systems under consideration have one common ingredient - ATR. ATR was developed by Welles Wilder and described in his book in 1978, also in this book the Volatility System was described, which in the future became known as Volatility Stops.
In fact, Wilder is the father of such systems due to the presence of ATR in the calculation of this type of indicator.
The main difference of Volatility System
Followers such as Larry Williams and Alexander Elder made minor changes to the value based on the ATR, mainly focusing on changing the base to which this value is added or subtracted.
Larry Williams uses the square root of 5 as a multiplier and calculates the ATR with a period of 66, and Alexander Elder uses a multiplier of 2.5-3.5 applying it to the ATR with a period of 22. Both authors changed the original value for ATR and multiplier calculations. Alexander Elder is closest to the original Welles Wilder calculation, which used a multiplier of 2.8.-3.1 applying it to an ATR with a period of 7.
As a reference, Elder took the Highest High(22) from which he subtracts ATR*Multiplier in an uptrend or the Lowest Low(22) to which he adds ATR*Multiplier to obtain the turning point (SAR).
Larry Williams uses the average price of extremes (Highest High(10) + Lowest Low(10)) / 2 as a reference base to which he adds or subtracts the ATR*Multilpyer values.
Both systems differ from the original, because Wilder used Significan Close(SIC) in his calculations. SIC is the maximum closing price during an uptrend and the minimum closing price during a downtrend, which
does not go beyond the current trade, as in other systems. To calculate the base when a trend changes, bars that are outside the current trend will be used when calculating WillTrend and Chandelier Exit, in contrast to the Volatility System, which takes SIC values only within the current trade. This is the main difference from subsequent developments of similar systems.
Improvements made
The original Volatility System is present as an indicator on TradingView, but it is an improved version with the addition of a ratchet and works differently from the original Weilder system.
List of improvements:
Added the ability to remove the ratchet. You need to turn off the "Trail one way" checkbox in the setting menu. When this function is turned off, the system will operate in the author-inventor mode. On some instruments, the original system works much better than the improved ratchet system, which cannot be turned off.
Added the ability to use Highest High and Lowest Low as a base instead of the closing price.
Volatility Stops Formula Description
Welles Wilder's system uses Closing Price and incorporates a stop-and-reverse feature (as with his Parabolic SAR).
Determine the initial trend direction
Calculate the Significant Close ("SIC"): the highest close reached in an up-trend or the lowest close in a down-trend
Calculate Average True Range ("ATR") for the selected period (7 days in this example)
Multiply ATR by the Multiple (3.0 in this example, best values author describes as 2.8-3.1)
The first stop is calculated in day 7 and plotted for day 8
If an up-trend, the first stop is SIC - 3 * ATR, otherwise SIC + 3 * ATR for a down-trend
Repeat each day until price closes below the stop (or above in a down-trend)
Set SIC equal to the latest Close, reverse the trend and continue.
Chandelier Exit Description
Chandelier Exits subtract a multiple of Average True Range ("ATR") from the highest high for the selected period. Using the default settings as an example:
Highest High in last 22 days - 3 * ATR for 22 days
In a down-trend the formula is reversed:
Lowest Low in last 22 days + 3 * ATR for 22 days
The time period must be long enough to capture the highest point of the recent up-trend: too short and the stops move downward; too long and the high may be taken from a previous down-trend.
It is not essential to use the same period for up and down trends; down-trends are notoriously faster than up-trends and may benefit from a shorter time period.
The multiple of 3 may be varied, but most traders settle between 2.5 and 3.5.
WillTrend Description
Larry Williams is prefer to used the Square Root from 5 as a multiplayer for ATR. SQRT(5) = 2.236
WillTrend subtract a multiple of Average True Range ("ATR") from the Middle Price (Highest High for the selected period + Lowest Low for the selected period / 2).
(Highest High in last 10 days + Lowest Low in last 10 days) / 2 - 2.236 * ATR for 66 days
In a down-trend the formula is reversed:
(Highest High in last 10 days + Lowest Low in last 10 days) / 2 + 2.236 * ATR for 66 days
Qullamaggie Breakout V2After publishing the Qullamaggie Breakout script and seeing that it had some decent results, I wanted to explore it a bit further. There were a few things I didn't like about that methodology that didn't really jive with the way I like to trade. So what I did was combined the Breakout Trend Follower strategy I had been using for entries with the Qullamaggie strategy for trailing stops once in profit. The results seem pretty good to me and an approach that fits my personality and something I can actually trade. Typically better profit than the Breakout Trend Follower by giving more room for your winners to run, while still protecting your entries by moving up the trailing stop until you are in profit, all while taking less trades, so that's great.
Everything is done with stop orders. So you set your buy stop at the recent swing high point and wait for a breakout. Once in a position you set your sell stop at the recent swing low point. The most recent swing high and low are shown on the chart for easy reference with the blue and orange horizontal lines. Once in a trade, trail your sell stop after a new swing low is registered (shown by the thicker orange stop line). Once you are in profit, leave that hard stop level there (the orange line will stay there helping you). Now, you wait for price to cross a Moving Average of your choosing (default is Daily 10 MA). Once the bar crosses that moving average, you move your stop to the low of that candle (shown by the blue stop line) and trail your stop along every crossing of the moving average until the trend changes and takes out your stop. So managing this trade is pretty easy...just wait for the stop lines to move and move your stop with them. It's a great way to trade when you can't be at your computer all the time because the stop orders take care of execution on both buy and sell side. If you use a daily timeframe for your moving averages (the default), you really only need to move stops around about once a day, so is a good part time trader's strategy in my opinion.
The best opportunities will come by scanning for stocks in the longer term timeframe of your moving averages. Wait for a consolidation on that timeframe so the anticipated breakout has some room to run. Once you've identified a good candidate, zoom in to your lower timeframe where the swing highs/lows will act as your entry and exit points, all while keeping the moving averages consistent between timeframes.
Hope you guys find it useful.
A few options available:
- Choose any timeframe for your moving averages, while using swing high/low points on intraday charts.
- Choose one of two moving averages shown for your trailing stops (default 10 and 20 MA).
- Choose to use the third moving average as a filter for keeping you out of trades that are below it (trading with the trend).
- Use the charts resolution candle or the moving average resolution candle for the moving average trailing stop.
- Only take trades where your buy level minus stop level is below a % of the Average Daily Range (ADR). This allows you to potentially have better risk/reward. I added a little table that shows the ADR of the stock/ticker as well as the range between the recent buy and sell levels (shown by the orange and blue horizontal lines) for easy reference.